package com.chenfan.mcn.model.vo;

import cn.afterturn.easypoi.excel.annotation.Excel;
import com.chenfan.mcn.constant.McnConstant;
import com.chenfan.mcn.constant.NumberFormatCst;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * @author liuming
 * @date 2023-04-28 10:07
 */
@Data
public class LiveContractCommodityVo implements Serializable {

    /**
     * 直播合同商品表主键ID
     */
    private Long lccId;

    /**
     * 商品id
     */
    @Excel(name = "商品ID")
    private String commodityId;

    /**
     * 认领状态：0待认领、1已认领
     */
    @Excel(name = "认领状态", replace = {"待认领_0", "已认领_1"})
    private Integer claimStatus;

    /**
     * 结算状态：0待结算、1结算中、2已结算、3待财务导入、4、部分结算
     */
    @Excel(name = "结算状态", replace = {"待结算_0", "结算中_1", "已结算_2","待财务导入_3","部分结算_4"})
    private Integer settlementStatus;

    /**
     * 商品名称
     */
    @Excel(name = "商品名称")
    private String commodityName;

    @Excel(name = "店铺名称")
    private String shopName;

    /**
     * 品牌
     */
    @Excel(name = "品牌")
    private String cooperateBrand;


    /**
     * 品牌类目名称
     */
    @Excel(name = "类目")
    private String liveContractCategoryName;

    /**
     * 直播场次code
     */
    @Excel(name = "场次ID")
    private String lsCode;


    /**
     * 直播平台名称
     */
    @Excel(name = "直播平台")
    private String livePlatformName;

    /**
     * 主播
     */
    @Excel(name = "主播（平台昵称）")
    private String anchorName;

    /**
     * 直播日期
     */
    @Excel(name = "直播时间")
    private Date liveDate;

    /**
     * 招商名称
     */
    @Excel(name = "招商")
    private String franchiserName;

    /**
     * 客户名称
     */
    @Excel(name = "客户名称")
    private String customerName;

    /**
     * 关联的收入合同编号
     */
    @Excel(name = "直播合同编号")
    private String incomeContractCode;

    /**
     * 佣金比例
     */
    private BigDecimal commissionRate;

    /**
     * 佣金比例
     */
    @Excel(name = "佣金比例")
    private String commissionRateStr;

    /**
     * 结算件数
     */
    @Excel(name = "结算件数")
    private BigDecimal settlementQty;

    /**
     * 成交金额（结算）
     */
    @Excel(name = "成交金额（结算）", type = 10)
    private BigDecimal realAmount;

    /**
     * 结算金额
     */
    @Excel(name = "结算金额", type = 10)
    private BigDecimal settlementAmount;

    /**
     * 结算佣金收入-机构
     */
    @Excel(name = "结算佣金收入-机构", type = 10)
    private BigDecimal settlementCommission;

    /**
     * 讲解次数
     */
    @Excel(name = "讲解次数")
    private Integer expoundNum;

    /**
     * 首次上架时间
     */
    @Excel(name = "首次上架时间", exportFormat = McnConstant.LONG_DATE_FORMAT)
    private Date firstNewDate;

    /**
     * 成交单价
     */
    @Excel(name = "直播间价格", type = 10)
    private BigDecimal transactedPrice;

    /**
     * 成交金额
     */
    @Excel(name = "成交金额", type = 10)
    private BigDecimal transactedAmount;


    /**
     * 成交件数
     */
    @Excel(name = "成交件数")
    private BigDecimal transactedQty;


    /**
     * 预售订单数
     */
    @Excel(name = "预售订单数")
    private BigDecimal presaleOrderNum;

    /**
     * 商品点击人数
     */
    @Excel(name = "商品点击人数")
    private BigDecimal clickNum;


    /**
     * 商品曝光-点击率（人数）
     */
    private BigDecimal clickRate;
    @Excel(name = "商品曝光-点击率（人数）", suffix = "%")
    private String clickRateStr;

    /**
     * 商品点击-成交转化率（人数）
     */
    private BigDecimal tradeTransfRate;
    @Excel(name = "商品点击-成交转化率（人数）", suffix = "%")
    private String tradeTransfRateStr;

    /**
     * 商品支付GPM
     */
    @Excel(name = "商品支付GPM")
    private BigDecimal payGpm;

    /**
     * 发货前退款订单数
     */
    @Excel(name = "发货前退款订单数")
    private BigDecimal beforeRefundOrderNum;

    /**
     * 发货前退款金额
     */
    @Excel(name = "发货前退款金额", type = 10)
    private BigDecimal beforeRefundAmount;

    /**
     * 发货前退款人数
     */
    @Excel(name = "发货前退款人数")
    private BigDecimal beforeRefundNum;

    /**
     * 发货前订单退款率
     */
    private BigDecimal beforeRefundRate;
    @Excel(name = "发货前订单退款率", suffix = "%")
    private String beforeRefundRateStr;

    /**
     * 发货后退款订单数
     */
    @Excel(name = "发货后退款订单数")
    private BigDecimal afterRefundOrderNum;

    /**
     * 发货后退款金额
     */
    @Excel(name = "发货后退款金额", type = 10)
    private BigDecimal afterRefundAmount;

    /**
     * 发货后退款人数
     */
    @Excel(name = "发货后退款人数")
    private BigDecimal afterRefundNum;

    /**
     * 发货后订单退款率
     */
    private BigDecimal afterRefundRate;
    @Excel(name = "发货后订单退款率", suffix = "%")
    private String afterRefundRateStr;

    /**
     * 数据拥有人名称
     */
    @Excel(name = "数据拥有人")
    private String ownerName;

    /**
     * 创建人
     */
    @Excel(name = "创建人")
    private String createName;

    /**
     * 创建日期
     */
    @Excel(name = "创建时间")
    private Date createDate;

    /**
     * 红人id
     */
    private Long starId;

    private Long starPlatId;

    /**
     * 所在平台ID（数据字典）
     */
    private String platformId;

    /**
     * 关联的收入合同ID
     */
    private Long incomeContractId;

    /**
     * 备注
     */
    private String remark;


    /**
     * 品牌类目code
     */
    private String liveContractCategory;


    /**
     * 招商人ID
     */
    private Long franchiserId;


    /**
     * 客户ID
     */
    private Long customerId;

    /**
     * 结算商品数据
     */
    private List<LiveSettlementCommodityDataVo> dataVos;

    /**
     * 品牌名称
     */
    private String cooperateBrandName;

}
